--- title: Reading keywords: fastai sidebar: home_sidebar summary: "Este módulo concentra funções para a leitura dos diversos arquivos que compões a base de dados" description: "Este módulo concentra funções para a leitura dos diversos arquivos que compões a base de dados" nb_path: "nbs\read.ipynb" ---
{% raw %}
{% endraw %} {% raw %}
import sys
from fastcore.xtras import Path

# Insert in Path Project Directory
sys.path.insert(0, str(Path().cwd().parent))
{% endraw %} {% raw %}
{% endraw %}

MOSAICO

O mosaico atualmente é composto por 3 bases complementares originárias de um banco MongoDB:Estações, Plano Básico e Histórico. Os módulos aqui leem, processam e mesclam as duas primeiras.

{% raw %}

read_df[source]

read_df(folder:Union[str, Path], stem:str)

Lê o dataframe formado por folder / stem.[parquet.gzip | fth | xslx]

{% endraw %} {% raw %}

read_mosaico[source]

read_mosaico(folder:Union[str, Path], update:bool=False)

Lê o banco de dados salvo localmente do MOSAICO e opcionalmente o atualiza.

{% endraw %} {% raw %}
{% endraw %} {% raw %}
folder = Path.cwd().parent / 'dados'
{% endraw %} {% raw %}
mosaico = read_mosaico(folder)
mosaico
Num_Serviço Id Número_Estação Latitude Longitude Validade_RF Município Frequência Classe Serviço Entidade UF Status CNPJ Fistel Coordenadas_do_Município
0 248 57dbaad053c60 <NA> -7.614167 -72.895833 NaN Mâncio Lima 539.00 C TV X-MEDIAGROUP S.A. AC TV-C1 03211814000163 50410887137 False
1 248 57dbaad0dc4e3 322647029 -12.101389 -44.993611 2023-12-31 Barreiras 79.00 A TV TELEVISAO OESTE BAIANO LTDA BA TV-C4 16395923000120 06030116240 False
2 248 57dbaad0eb54a 322623553 -14.779444 -39.262222 2023-12-31 Itabuna 69.00 A TV TELEVISAO SANTA CRUZ LTDA BA TV-C2 13476833000175 06020355110 False
3 248 57dbaad0ef8af 322623537 -14.781670 -39.261670 2023-12-31 Itabuna 177.00 B TV TV CABRALIA LTDA BA TV-C4 13494265000135 06020354903 False
4 248 57dbaad1077a6 637062230 -16.353056 -39.386111 2017-08-20 Porto Seguro 515.00 C TV FUNDACAO FUNDESUL BA TV-C7 04188244000109 50011828080 False
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
29651 801 62b0adc1c8c91 <NA> -27.506600 -49.287000 NaN Leoberto Leal 557.00 C RTVD PREFEITURA MUNICIPAL DE LEOBERTO LEAL SC TV-C1 82924390000150 50442349742 False
29652 801 62b0b38c7d2b9 <NA> -27.506600 -49.287000 NaN Leoberto Leal 599.00 C RTVD PREFEITURA MUNICIPAL DE LEOBERTO LEAL SC TV-C1 82924390000150 50442350597 False
29653 205 57dbac6b65c67 322480280 -25.492550 -49.153450 2024-05-01 Curitiba 0.67 B OM RADIO RIO VERDE LTDA PR AM-C4 05349869000160 05008005375 False
29654 801 62c8629921605 <NA> -16.767600 -47.613100 NaN Cristalina 563.00 C RTVD RF TECNOLOGIA E PARTICIPACOES LTDA GO TV-C1 07678601000105 50442597649 False
29655 230 5fae8fad66ac6 323269206 -9.160330 -36.032830 2018-09-19 União dos Palmares 99.90 C FM RADIO FM AG LTDA AL FM-C4 12834222000199 22000003168 False

29656 rows × 16 columns

{% endraw %} {% raw %}
mosaico.to_parquet(f"{folder}/mosaico.parquet.gzip", compression="gzip", index=False)
{% endraw %} {% raw %}
mosaico.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 29656 entries, 0 to 29655
Data columns (total 16 columns):
 #   Column                    Non-Null Count  Dtype   
---  ------                    --------------  -----   
 0   Num_Serviço               29656 non-null  category
 1   Id                        29656 non-null  string  
 2   Número_Estação            23715 non-null  string  
 3   Latitude                  29656 non-null  float64 
 4   Longitude                 29656 non-null  float64 
 5   Validade_RF               26799 non-null  category
 6   Município                 29653 non-null  category
 7   Frequência                29656 non-null  float64 
 8   Classe                    29640 non-null  category
 9   Serviço                   29656 non-null  category
 10  Entidade                  29637 non-null  category
 11  UF                        29654 non-null  category
 12  Status                    29656 non-null  category
 13  CNPJ                      29656 non-null  category
 14  Fistel                    29656 non-null  string  
 15  Coordenadas_do_Município  29656 non-null  bool    
dtypes: bool(1), category(9), float64(3), string(3)
memory usage: 2.4 MB
{% endraw %} {% raw %}
mosaico['Frequência'] = mosaico['Frequência'].astype('category')
{% endraw %} {% raw %}
from pandas_profiling import ProfileReport
mosaico_profile = ProfileReport(mosaico, config_file='report_config.yaml')
mosaico_profile.to_notebook_iframe()
{% endraw %}

STEL & RADCOM

{% raw %}

read_stel[source]

read_stel(folder:Union[str, Path], update:bool=False)

Lê o banco de dados salvo localmente do STEL. Opcionalmente o atualiza pelo Banco de Dados ANATELBDRO01 caso update = True ou não exista o arquivo local

{% endraw %} {% raw %}

read_radcom[source]

read_radcom(folder:Union[str, Path], update:bool=False)

Lê o banco de dados salvo localmente de RADCOM. Opcionalmente o atualiza pelo Banco de Dados ANATELBDRO01 caso update = True ou não exista o arquivo local

{% endraw %} {% raw %}
{% endraw %} {% raw %}
radcom = read_radcom(folder)
radcom.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4923 entries, 0 to 4922
Data columns (total 10 columns):
 #   Column          Non-Null Count  Dtype   
---  ------          --------------  -----   
 0   Frequência      4923 non-null   float64 
 1   Entidade        4923 non-null   string  
 2   Fistel          4923 non-null   string  
 3   Número_Estação  4923 non-null   string  
 4   Município       4923 non-null   string  
 5   UF              4923 non-null   category
 6   Latitude        4923 non-null   float64 
 7   Longitude       4923 non-null   float64 
 8   CNPJ            4923 non-null   string  
 9   Classe          4923 non-null   category
dtypes: category(2), float64(3), string(5)
memory usage: 319.4 KB
{% endraw %} {% raw %}
radcom['Frequência'] = radcom['Frequência'].astype('category')
{% endraw %} {% raw %}
radcom_profile = ProfileReport(radcom, config_file='report_config.yaml')
radcom_profile.to_notebook_iframe()
{% endraw %} {% raw %}
stel = read_stel(folder)
stel.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 880091 entries, 0 to 880090
Data columns (total 14 columns):
 #   Column           Non-Null Count   Dtype   
---  ------           --------------   -----   
 0   Frequência       880091 non-null  float64 
 1   Classe_Emissão   856695 non-null  category
 2   Largura_Emissão  856695 non-null  category
 3   Classe           856697 non-null  category
 4   Num_Serviço      880091 non-null  category
 5   Entidade         880091 non-null  category
 6   Fistel           880091 non-null  category
 7   Número_Estação   880091 non-null  category
 8   Município        879297 non-null  category
 9   UF               879297 non-null  category
 10  Latitude         879297 non-null  float64 
 11  Longitude        879297 non-null  float64 
 12  CNPJ             880091 non-null  category
 13  Validade_RF      880091 non-null  category
dtypes: category(11), float64(3)
memory usage: 44.7 MB
{% endraw %} {% raw %}
stel['Frequência'] = stel['Frequência'].astype('category')
{% endraw %} {% raw %}
stel_profile = ProfileReport(stel, config_file='report_config.yaml')
stel_profile.to_notebook_iframe()
{% endraw %}

Bases Externas da Aeronáutica

{% raw %}

read_icao[source]

read_icao(folder:Union[str, Path], update:bool=False)

Lê a base de dados do Frequency Finder e Canalização VOR/ILS/DME

{% endraw %} {% raw %}

read_aisw[source]

read_aisw(folder:Union[str, Path], update:bool=False)

Fontes da informação: AISWEB, REDEMET, Ofício nº 2/SSARP/14410 e Canalização VOR/ILS/DME.

{% endraw %} {% raw %}

read_aisg[source]

read_aisg(folder:Union[str, Path], update:bool=False)

Fontes da informação: AISWEB, REDEMET, Ofício nº 2/SSARP/14410 e Canalização VOR/ILS/DME.

{% endraw %} {% raw %}

read_aero[source]

read_aero(folder:Union[str, Path], up_icao:bool=False, up_aisw:bool=False, up_aisg:bool=False)

Lê os arquivos de dados da aeronáutico e retorna os registros comuns e únicos

{% endraw %} {% raw %}
{% endraw %} {% raw %}
icao = read_icao(folder)
icao['Frequency'] = icao['Frequency'].astype('category')
icao_profile = ProfileReport(icao, config_file='report_config.yaml')
icao_profile.to_notebook_iframe()
{% endraw %} {% raw %}
aisw = read_aisw(folder)
aisw['Frequency'] = aisw['Frequency'].astype('category')
aisw_profile = ProfileReport(aisw, config_file='report_config.yaml')
aisw_profile.to_notebook_iframe()
{% endraw %} {% raw %}
aisg = read_aisg(folder)
aisg['Frequency'] = aisg['Frequency'].astype('category')
aisg_profile = ProfileReport(aisg, config_file='report_config.yaml')
aisg_profile.to_notebook_iframe()
{% endraw %}

Base Consolidada

{% raw %}

read_base[source]

read_base(folder:Union[str, Path], update:bool=False)

Lê a base de dados e opcionalmente a atualiza antes da leitura

{% endraw %} {% raw %}
{% endraw %} {% raw %}
base = read_base(folder)
base['Frequência'] = base['Frequência'].astype('category')
base_profile = ProfileReport(base, config_file='report_config.yaml')
base_profile.to_notebook_iframe()
{% endraw %} {% raw %}
radcom
Frequência Entidade Fistel Número_Estação Município UF Latitude Longitude CNPJ Classe Status
0 87.5 ASSOCIACAO COMUNITARIA VOZ DA LIBERDADE DE TUR... 50415095220 1008210959 Turilândia MA -2.228611 -45.306667 10910844000123 P RADCOM, P
1 87.5 ASSOCIACAO COMUNITARIA DO MORAD.DE ALVORADA DE... 50409064718 699491851 Alvorada de Minas MG -18.734167 -43.364722 00635021000183 3 RADCOM, 3
2 87.5 ASSOCIAÇÃO COMUNITARIA DA JUVENTUDE DE CONGONH... 50405625782 699359830 Congonhas do Norte MG -18.812778 -43.673611 04868495000126 3 RADCOM, 3
3 87.5 ASSOCIACAO COMUNITARIA FOLHETA 50404381251 690859562 Dom Joaquim MG -18.950000 -43.266667 01809521000157 3 RADCOM, 3
4 87.5 ASSOCIAÇÃO DE RÁDIO COMUNITÁRIA DE CASTANHEIRA... 50411566547 1008401606 Castanheira MT -11.137222 -58.613333 14970791000197 P RADCOM, P
... ... ... ... ... ... ... ... ... ... ... ...
4918 107.9 ASSOCIAÇÃO DE MORADORES DO JARDIM CRISTINA OUR... 50434484237 692270272 São José dos Campos SP -23.553056 -45.870556 07249175000186 3 RADCOM, 3
4919 107.9 ASSOCIAÇÃO DE MORADORES DO JARDIM CRISTINA OUR... 50406232911 692270272 São José dos Campos SP -23.553056 -45.870556 07249175000186 3 RADCOM, 3
4920 107.9 ASSOCIAÇÃO DE MORADORES DO JARDIM CRISTINA OUR... 50413097013 692270272 São José dos Campos SP -23.553056 -45.870556 07249175000186 3 RADCOM, 3
4921 107.9 ASSOCIACAO COMUNITARIA CULTURAL DE MUSICA E CI... 50406778205 693049723 São José dos Campos SP -23.191944 -45.875278 08894854000170 3 RADCOM, 3
4922 107.9 ASSOCIAÇÃO CULT COMUNIT MORUMBI 50407431578 697707695 São José dos Campos SP -23.267778 -45.897500 02521194000104 3-B RADCOM, 3-B

4923 rows × 11 columns

{% endraw %}